home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / include / graphics / Clip.h next >
C/C++ Source or Header  |  1996-09-10  |  3KB  |  115 lines

  1. #ifndef GRAPHICS_CLIP_H
  2. #define GRAPHICS_CLIP_H 1
  3. /*
  4. ** clip.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/01/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for clip.h
  17. */
  18. #ifndef ClipRectPtr
  19. #define ClipRectPtr ADDRESS
  20. #endif
  21. #ifndef LayerPtr
  22. #define LayerPtr ADDRESS
  23. #endif
  24. /*
  25. ** End of StructPointer defines for clip.h
  26. */    
  27. #ifndef EXEC_TYPES_H
  28. #include <exec/types.h>
  29. #endif
  30.  
  31. #ifndef GRAPHICS_GFX_H
  32. #include <graphics/gfx.h>
  33. #endif
  34. #ifndef EXEC_SEMAPHORES_H
  35. #include <exec/semaphores.h>
  36. #endif
  37. #ifndef UTILITY_HOOKS_H
  38. #include <utility/hooks.h>
  39. #endif
  40. #ifndef GRAPHICS_REGIONS_H
  41. #include <graphics/regions.h>
  42. #endif
  43.  
  44. #ifndef RastPortPtr
  45. #define RastPortPtr ADDRESS
  46. #endif
  47. #ifndef Layer_InfoPtr
  48. #define Layer_InfoPtr ADDRESS
  49. #endif
  50.  
  51. #define NEWLOCKS
  52.  
  53. STRUCT Layer
  54.  
  55.     LayerPtr  front 
  56.     LayerPtr  _back 
  57.     ClipRectPtr  ClipRect   /* read by roms to find first cliprect */
  58.     RastPortPtr  rp 
  59.     Rectangle bounds 
  60.     STRING reserved SIZE 4  
  61.     SHORTINT   priority            /* system use only */
  62.     SHORTINT   Flags           /* obscured ?,  Virtual BitMap? */
  63.     BitMapPtr  SuperBitMap 
  64.     ClipRectPtr  SuperClipRect  /* super bitmap cliprects if VBitMap != 0*/
  65.                   /* else damage cliprect list for refresh */
  66.     ADDRESS    _Window        /* reserved for user interface use */
  67.     SHORTINT    Scroll_X 
  68.     SHORTINT  Scroll_Y 
  69.     ClipRectPtr  cr 
  70.     ClipRectPtr  cr2 
  71.     ClipRectPtr  crnew    /* used by dedice */
  72.     ClipRectPtr  SuperSaveClipRects  /* preallocated cr's */
  73.     ClipRectPtr  _cliprects    /* system use during refresh */
  74.     Layer_InfoPtr  LayerInfo  /* points to head of the list */
  75.     SignalSemaphore Lock 
  76.     HookPtr  BackFill 
  77.     LONGINT   reserved1 
  78.     RegionPtr  ClipRegion 
  79.     RegionPtr  saveClipRects   /* used to back out when in trouble*/
  80.     SHORTINT    _Width 
  81.     SHORTINT  Height        /* system use */
  82.     STRING reserved2 SIZE 18  
  83.     /* this must stay here */
  84.     RegionPtr  DamageList     /* list of rectangles to refresh
  85.                        through */
  86. END STRUCT 
  87.  
  88. STRUCT ClipRect
  89.  
  90.     ClipRectPtr  _Next      /* roms used to find next ClipRect */
  91.     ClipRectPtr  prev      /* Temp use in layers (private) */
  92.     LayerPtr  lobs       /* Private use for layers */
  93.     BitMapPtr  BitMap         /* Bitmap for layers private use */
  94.     Rectangle bounds      /* bounds of cliprect */
  95.     ADDRESS   _p1            /* Layers private use!!! */
  96.     ADDRESS   _p2            /* Layers private use!!! */
  97.     LONGINT    reserved            /* system use (Layers private) */
  98. #ifdef NEWCLIPRECTS_1_1
  99.     LONGINT    Flags           /* Layers private field for cliprects */
  100.                     /* that layers allocates... */
  101. #endif                  /* MUST be multiple of 8 bytes to buffer */
  102. END STRUCT 
  103.  
  104. /* internal cliprect flags */
  105. #define CR_NEEDS_NO_CONCEALED_RASTERS  1
  106. #define CR_NEEDS_NO_LAYERBLIT_DAMAGE   2
  107.  
  108. /* defines for code values for getcode */
  109. #define ISLESSX 1
  110. #define ISLESSY 2
  111. #define ISGRTRX 4
  112. #define ISGRTRY 8
  113.  
  114. #endif  /* GRAPHICS_CLIP_H */
  115.